package com.nf.demo.dao;

import com.nf.demo.model.pojo.Staffs;

import java.util.List;
import java.util.Map;

/**
 * @author lwj
 * @date 2025-02-27
 * @vesion 1.0.0
 */
public interface HandlerDAO {
    /**
     * 一、通过编号查询单个对象信息
     * @param staffs 对象
     * @return 单个对象的 Map 结构信息
     */
    Map<String,Object> selectById(Staffs staffs);

    /**
     * 二、查询所有对象信息
     * @return 所有对象的 Map 结构信息
     */
    List<Map<String,Object>> selectAll();


    /**
     * 三、获取全部的数据
     * @return 对象数组信息
     */
    List<Staffs> selectAllList();

    /**
     * 四、根据编号查询信息
     * @param staffs 对象
     * @return 对象信息
     */
    Staffs selectByIdList(Staffs staffs);

    /**
     * 五、通过编号查找姓名
     * @param staffs 对象
     * @return 姓名字段信息
     */
    String findSingleName(Staffs staffs);

    /**
     * 六、获取所有 Staffs 的记录数量
     * @return 记录数量
     */
    Long getRecordCount();

    /**
     * 七、查询 Staffs 表中的 name 属性
     * @return 所有查询出来的 name 字段信息
     */
    List<String> findAllName();

    /**
     * 八、根据编号查询对象信息
     * @param staffs 对象信息
     * @return 单个对象信息
     */
    Object[] selectByIdObject(Staffs staffs);

    /**
     * 获取所有对象数据
     * @return 所有对象数据
     */
    List<Object[]> selectAllObject();
}
